Awesome Broadcasting
      
    
    
      A curated list of amazingly awesome open source resources for
      broadcasters.
    
    
    
    Clocks & Studio Screens
    
      - 
        OnAirScreen -
        Cross-platform “OnAir Lamp” solution targeted for use in professional
        broadcast environments.
      
 
      - 
        PiClock -
        Customisable network based displays of clocks, on-air, mic live and
        other studio indicators.
      
 
      - 
        PiRSClock-Full
        - Radio Studio Clock with studio indicators for mics, telephones etc.
      
 
    
    Codecs
    
      - 
        FLAC - Free Lossless Audio
        Coding, used by some broadcasters for audio exchange, storage.
      
 
      - 
        Lame - A high quality MPEG
        Audio Layer III (MP3) encoder.
      
 
      - 
        opencore-amr
        - Audio codecs extracted from Android Open Source Project, including
        AAC.
      
 
      - 
        Opus - A totally open,
        royalty-free, highly versatile audio codec.
      
 
      - 
        Turing Codec - An H.265/HEVC open
        source software encoder designed for fast and efficient video
        compression.
      
 
      - 
        TwoLame - An MPEG Audio Layer 2
        (MP2) encoder.
      
 
    
    Companion Screens
    
      - 
        dial-discovery-ios
        - A library for the discovery of devices via the DIAL protocol on the
        iOS platform.
      
 
      - 
        dvbcss-synckit-ios
        - iOS libraries for companion screen applications that are synchronised
        frame-accurately to a TV.
      
 
      - 
        dvbcss-synctiming
        - A system for measuring how accurately a TV or companion are
        synchronised.
      
 
      - 
        pydvbcss - Implementation
        of the DVB Companion Screens and Streams protocols for synchronised
        media playback.
      
 
    
    Connected TVs
    
      - 
        Cross-Platform Authentication -
        CPA offers an open standard for associating any media device with an
        online identity.
      
 
      - 
        HbbPlayer - An HbbTV
        and W3C specifications compliant application that can playback media
        from a URL.
      
 
      - 
        TAL - The TV Application Layer
        (TAL) is an open source library for building applications for Connected
        TV devices.
      
 
    
    Control Systems
    
      - 
        Lawo EmberPlus - Ember
        Plus - open protocol for interfacing to / from broadcast control
        systems.
      
 
      - 
        MIDIMonster -
        Lightweight adapter tool for common show control protocols.
      
 
    
    
    
      - 
        StormCV - Apache
        Storm + OpenCV = large scale distributed image and video analysis.
      
 
    
    Documentation
    
      - 
        Kronekeeper - A
        web based application for recording and managing Krone frame records.
      
 
    
    DVB & WiFi
    
      - 
        DTT 2 IP - Broadcast to IP
        conversion for Wifi indoor coverage.
      
 
      - 
        DVB Inspector
        - An open-source DVB analyzer.
      
 
      - 
        DVBlast - A
        simple and powerful MPEG-2/TS demux and streaming application.
      
 
      - 
        dvbshout - Tool to send
        DVB audio to a shoutcast server or a RTP stream.
      
 
      - 
        Opencaster
        - A free and open source MPEG2 transport stream data generator and
        packet manipulator.
      
 
      - 
        Project X -
        DVB demux tool.
      
 
      - 
        ts2mpa - Simple tool to
        extract MPEG Audio from a MPEG Transport Stream (TS).
      
 
      - 
        TSDuck - Extensible toolkit for
        MPEG/DVB transport streams testing, monitoring, integration, debugging,
        and more.
      
 
      - 
        WiFiBroadcast
        - Analog-like transmission of live video data.
      
 
    
    
      Animation, Graphics & Video Playout
    
    
      - 
        Aurena - A network
        distributed media playback system.
      
 
      - 
        Blender - 3D
        creation suite supporting 3D modelling, animation, motion tracking,
        video editing, and more.
      
 
      - 
        CasparCG - A professional
        graphics and video play-out software, proven in 24/7 broadcasts since
        2006.
      
 
      - 
        ffplayout -
        Python and FFmpeg based playout from folder or playlists.
      
 
      - 
        Macadam - Blackmagic
        Node.js bindings that support HTML/CSS (via
        Electron) and SVG (via
        Sevruga) graphics.
      
 
      - 
        Nebula - Media asset
        management and broadcast automation system.
      
 
      - 
        NodeCG - Broadcast graphics
        rendered in a browser using Node.js.
      
 
      - 
        Open Playout Automation
        - A CasparCG-based MCR play-out system.
      
 
      - 
        ossia - A free and open-source
        intermedia sequencer.
      
 
      - 
        Sofie - TV Automation
        - MOS-driven automation system for news casts, with many libraries for
        e.g. device control.
      
 
    
    Hybrid Radio
    
    LiveIP
    Audio/Video over IP & Streaming
    
      - 
        butt - broadcast using this tool
        (butt) is an easy to use, multi OS streaming tool. It supports SHOUTcast
        and Icecast.
      
 
      - 
        Cool Mic - Android audio
        livestreaming Icecast source client app.
      
 
      - 
        DarkIce - Live audio streamer that
        records and encodes from an audio interface and sends to a streaming
        server.
      
 
      - 
        EBU LIST - Live IP Software
        Toolkit to assist EBU members in the implementation of IP based
        facilities.
      
 
      - 
        Icecast - Streaming media
        (audio/video) server which supports Ogg (Vorbis and Theora), Opus, WebM
        and MP3.
      
 
      - 
        IRIS Broadcast
        - A project founded in Sweden to publish Open Source software for
        professional radio broadcasts.
      
 
      - 
        Kamailio - Open SIP server,
        commonly used for Audio contribution over IP using SIP (EBU ACIP).
      
 
      - 
        See the NMOS list for the AMWA Networked Media Open
        Specifications and open source implementations and tools.
      
 
      - 
        OpenOB - Open
        Outside Broadcast project for radio contribution links and
        studio-transmitter links based on Opus.
      
 
      - 
        PJSIP - Open Source multimedia
        library implementing SIP, SDP, RTP, STUN, TURN, and ICE.
      
 
      - 
        trx - A simple toolset
        for broadcasting live audio from Linux.
      
 
    
    
    
      - 
        Dash.js - A reference
        client implementation for the playback of MPEG DASH via Javascript and
        compliant browsers.
      
 
      - 
        GPAC - Multimedia player,
        packager and tools.
      
 
      - 
        IDJC - A GTK+
        Shoutcast/Icecast client with two main media players.
      
 
      - 
        Kodi - A software media
        player and entertainment hub for digital media.
      
 
      - 
        Media4DPlayer - HTML5
        player focused on accessibility.
      
 
      - 
        MPD - A flexible, powerful,
        server-side application for playing music.
      
 
      - 
        mpg123 - A fast console MPEG Audio
        Player and decoder library.
      
 
      - 
        Mixxx - A free, open source DJ
        software.
      
 
      - 
        Peaks.js -
        Browser-based audio waveform visualisation.
      
 
      - 
        rx-player -
        HTML5/Javascript video player that supports MPEG-DASH and
        SmoothStreaming.
      
 
      - 
        VLC - Simple, fast and powerful media
        player.
      
 
    
    
    
      - 
        BMXlib - Library
        and utilities to read and write broadcasting media files. Primarily
        supports the MXF file format.
      
 
      - 
        EBUCore - The Github for
        maintenance of the
        EBUCore schema.
      
 
      - 
        jebu-core - Java
        port of
        EBU Tech 3293
        EBU Core metadata, including the
        Audio Definition Model.
      
 
      - 
        libadm - Audio
        Definition Model (ITU-R BS.2076) handling C++11 library.
      
 
      - 
        libklvanc - C
        library for ancillary data extraction from SDI and SMPTE ST 2110-40
        (CEA-708, AFD, SCTE-104, etc.).
      
 
      - 
        MAJ API - Pure Java library
        for reading and writing MXF and AAF files.
      
 
      - 
        SDPoker - CLI tool
        and library for testing SMPTE ST2110 SDP files.
      
 
      - 
        TV-Anytime - The
        TV-Anytime schema github maintenance page.
      
 
    
    Monitoring & Quality Control
    
      - 
        BeaqleJS - A framework
        to create browser based listening tests for subjective audio quality
        assessment.
      
 
      - 
        Jack Meter - Text console
        based DPM (Digital Peak Meter) for JACK.
      
 
      - 
        JACK Meterbridge - A
        collection of graphical Audio meters for JACK (ballistics may be
        incorrect).
      
 
      - 
        Jmeters
        - A collection of graphical audio meters for JACK, including VU, PPM and
        EBU R 128 Loudness
        meters.
      
 
      - 
        LTC-tools - A collection
        of tools to handle Linear Timecode (LTC) and convert to MIDI Timecode
        (MTC).
      
 
      - 
        MediaConch -
        Implementation checker, policy checker, & reporter for Matroska,
        FFV1, & PCM.
      
 
      - 
        MediaInfo - A
        convenient unified display of the most relevant technical and tag data
        for video and audio files.
      
 
      - 
        MXF Inspect - A
        Windows tool to display the internal structure of an MXF (Material
        eXchange Format) file.
      
 
      - 
        Pi Audio Monitor - Audio
        Monitoring for Raspberry Pi, supports S/PDIF, AES3, AES67, Livewire and
        Ravenna.
      
 
      - 
        Photon - Implementation
        of the SMPTE Interoperable Master Format (IMF) standard.
      
 
      - 
        QCTools - Quality Control
        tools for video preservation to analyse digitized video files.
      
 
      - 
        Rotter - Recording of
        Transmissions / Audio Logger for JACK.
      
 
      - 
        silan - Audiofile silence
        analyzer.
      
 
      - 
        SilentJack - Dead-air /
        Silence detector for JACK.
      
 
      - 
        Sonic Visualiser - An
        application for viewing and analysing the contents of music audio files.
      
 
      - 
        VMAF - Perceptual video
        quality assessment based on multi-method fusion.
      
 
      - 
        Wisual - A
        web service for Visual Quality Assessment, which supports PSNR, SSIM,
        VQM, etc.
      
 
    
    Multimedia content processing
    
      - 
        AvTranscoder
        - FFmpeg/LibAV-based high-level API to re-wrap or transcode media, with
        bindings for Java and Python.
      
 
      - 
        Beam Coder -
        Node.js native bindings to FFmpeg, with support for asynchronous
        processing via promises and streams.
      
 
      - 
        Bento4 -
        Full-featured MP4 format and MPEG DASH C++ class library and tools.
      
 
      - 
        Brave - Basic Real-time AV
        Editor - lets you preview, mix, and route live audio and video streams
        on the cloud.
      
 
      - 
        Codem-isoboxer
        A small browser-based MPEG-4 (ISOBMFF) parser.
      
 
      - 
        Dynamorse
        - IT swiss army knife - a Node-RED media pipeline builder, adding
        professional media processing nodes.
      
 
      - 
        EBU ADM Renderer -
        Reference implementation of the EBU ADM Renderer (EBU Tech 3388)
      
 
      - 
        FFmbc - FFmpeg
        customized for broadcast and professional usage.
      
 
      - 
        FFmpeg - A cross-platform solution to
        record, convert and stream audio and video. Supports SMPTE ST 2110.
      
 
      - 
        Flowblade - A
        multitrack non-linear video editor.
      
 
      - 
        GStreamer - A library
        for constructing graphs of media-handling components.
      
 
      - 
        Kelvinadon -
        Node.JS pure Javascript module for streaming MXF files to and from JSON.
      
 
      - 
        KFR - Fast, modern C++ DSP
        framework, DFT/FFT, Audio resampling, FIR/IIR, Biquad, EBU R 128.
      
 
      - 
        L-SMASH - A rigidly
        spec-compliant ISOBMFF library, which has full DASH muxing support.
      
 
      - 
        LibAV - Open source audio and video
        processing tools.
      
 
      - 
        libbw64
        – Header-only Broadcast Wave 64 (ITU-R BS.2088) C++11 library.
      
 
      - 
        libear - A C++11 library to
        render ADM content according to Recommendation ITU-R BS.2127.
      
 
      - 
        Libebur128 - A
        library that implements the EBU R 128 standard for loudness
        normalisation.
      
 
      - 
        Loudness Validator
        - A set of applications to analyse, visualise and correct the loudness.
      
 
      - 
        MP4Box.js - JavaScript
        library to process MP4 files in the browser (and in NodeJS).
      
 
      - 
        MXFLib - A
        multi-platform C++ library for reading and writing MXF files.
      
 
      - 
        OBS-Studio -
        Software for live streaming and screen recording.
      
 
      - 
        Open Broadcast Encoder -
        Broadcast encoder built from Open Source components.
      
 
      - 
        rgain - Tools and Python
        library to read, write and calculate Replay Gain.
      
 
      - 
        rtmp - Server
        implementation of Adobe’s RTMP 1.0 protocol in Go.
      
 
      - 
        Snowmix - Live
        Video Mixer.
      
 
      - 
        SoX - The Swiss Army knife of
        sound processing programs.
      
 
      - 
        TuttleOFX - An open
        source image processing framework based on OpenFX plugin standard.
      
 
      - 
        UPipe - Primarily
        designed to be the core of a multimedia player, transcoder or streamer.
      
 
      - 
        VideoContext -
        Experimental HTML5/WebGL library for creating interactive and responsive
        web videos.
      
 
      - 
        Voctomix - Customizable
        conference recording/mixing/streaming software based on Python and
        GStreamer.
      
 
    
    Network & Storage Testing
    
      - 
        BBC Media Storage Meter
        - An application for the testing of network attached (professional
        media) storage.
      
 
      - 
        Fio - Flexible I/O Tester
      
 
      - 
        iPerf3 - The TCP, UDP and SCTP network
        bandwidth measurement tool.
      
 
      - 
        SMPTE 2110-20 Analyzer
        - Analyzer to inspect network packets generated in accordance with SMPTE
        ST 2110.
      
 
    
    NMOS
    
      The
      Networked Media Open Specifications
      are themselves open source.
    
    
      - 
        AMWA NMOS Testing Tool
        - Automated test suites for the AMWA NMOS family of specifications, as
        used in the
        JT-NM Tested programme
      
 
      - 
        BBC NMOS Joint Reference Implementation
        - A Vagrant provisioning to build 4 virtual machines, an IS-04/IS-05
        Node, IS-04 Registry, BCP-003-02 Authorisation Server, and the NMOS
        Testing Tool.
      
 
      - 
        Easy-NMOS - A starter
        kit that allows the user to launch a simple NMOS setup with minimal
        installation steps, composed of three Docker containers: an NMOS
        Registry, a virtual NMOS Node, and the AMWA NMOS Testing Tool.
      
 
      - 
        nmos-cpp - An
        implementation of the AMWA Networked Media Open Specifications in C++,
        including an NMOS Registry and a toolkit and example of building an NMOS
        Node.
      
 
      - 
        nmos-js - A simple
        browser-based NMOS Client/Controller with an IS-04 Registry browser and
        IS-05 Connection Management.
      
 
      - 
        NVIDIA NMOS Docker
        - Docker container with Registry and Controller, IS-04/05/08/07/09,
        BCP-003-01
      
 
    
    Radio Production
    
      - 
        Airtime - Radio
        management application for remote broadcast automation (via web-based
        schedule).
      
 
      - 
        Ardour - A digital audio workstation.
      
 
      - 
        Audacity - Cross-platform
        software for recording and editing sounds.
      
 
      - 
        AzuraCast - A
        self-hosted web radio management suite.
      
 
      - 
        LibreTime - Radio broadcast &
        automation platform (fork of Airtime).
      
 
      - 
        Liquidsoap - A Swiss
        army knife for multimedia streaming (documentation).
      
 
      - 
        OpenBroadcaster Open Source
        LPFM IPTV Broadcast Automation.
        Server and Player code here.
      
 
      - 
        RAAR - A ruby
        application to manage and browse an audio archive.
      
 
      - 
        Rivendell -
        Complete radio broadcast automation solution, translated to many
        languages and used worldwide.
      
 
    
    Software-defined radio
    
      - 
        GNU Radio - A software
        development toolkit that provides signal processing blocks to implement
        software radios.
      
 
      - 
        Gqrx SDR - An open source software
        defined radio receiver (SDR).
      
 
      - 
        ODR-mmbTools - Fork of
        CRC-mmbTools. Adds live, DAB+, associated data, distributed
        infrastructure, SFN.
      
 
      - 
        rtl-sdr
        - Turns a Realtek RTL2832 based DVB dongle into a SDR receiver.
      
 
      - 
        welle.io - An open source DAB and
        DAB+ software defined radio (SDR) with support for airspy and rtlsdr.
      
 
    
    Subtitling
    
    Video Production
    
      - 
        MOS-connection
        - A JavaScript library for connection and MOS messaging either as MOS
        device or NRCS.
      
 
      - 
        Open Lighting Architecture (OLA)
        - Travel adaptor for the lighting industry, for interconnecting DMX-512,
        IP and USB.
      
 
      - 
        Q Light Controller+ (QLC+) -
        Cross-platform control of DMX or analogue lighting systems (heads,
        dimmers, etc.).
      
 
      - 
        TallyArbiter - Cross-platform
        Tally interfacer & tally lights for any camera via phones or
        low-cost hardware.
      
 
      - 
        Teleprompter
        - Web browser and standalone Electron app prompter.
      
 
    
    Streaming
    
      - 
        Owncast - Selfhosted
        video streaming plattform (https://owncast.online/)
      
 
    
    Resources
    
      Various resources, such as books, websites and articles, for improving
      your skills and knowledge.
    
    Blogs
    
    
    Contributing
    
      Please see
      CONTRIBUTING
      for details.